package sustav.predajnik;

import sustav.kanal.Kanal;
import sustav.koderi.EntropijskiKoder;
import sustav.koderi.KoderKanala;

/**
 * Razred predajnik simulira predajnik u nasem komunikacijskom sustavu.
 * Predajnik prima simbole od izvora, kodira ih najprije entropijskim
 * koderom a zatim koderom kanala, te tako kodirane poruke salje u kanal.
 * 
 * Predajnik kao parametar dobiva instance potrebnih
 * kodera te inicijalizirani razred Kanal u koji  salje kodirane poruke.
 * 
 * @author Martin Morava
 *
 */
public class Predajnik {
	
	char[] nizSimbola;
	EntropijskiKoder entropijskiKoder;
	KoderKanala koderKanala;
	Kanal kanal;
	
	Predajnik(char[] nizSimbola,EntropijskiKoder entropijskiKoder,KoderKanala koderKanala,Kanal kanal){
		this.nizSimbola=nizSimbola;
		this.entropijskiKoder=entropijskiKoder;
		this.koderKanala=koderKanala;
		this.kanal=kanal;
	}
	
	/**
	 * Prvo entropijski kodira simbol, zatim zastitno te ga
	 * prenosi u kanal.Kodirani simboli u kanal se prenose
	 * bit po bit.
	 * 
	 * @param simbol
	 * @return jesu li svi simboli dobro poslani
	 */
	private boolean posaljiSimbol(char simbol){	
		return false;
	}
	

}
